Background

Every day, more than 120 people in America are killed with guns. The gun homicide rate in the U.S. is 26 times higher than that of other developed countries. (Everytown)

On November 13, 2022, three UVA football players were shot and killed on campus. Devin Chandler, Lavel Davis Jr. and D’Sean Perry lost their lives to an act of gun violence. The rate of violent crime in Charlottesville increased by 30% from 2021 to 2022, and in the early months of 2023, police had already investigated five homicide cases; compared to zero cases in 2021 (Cville Community Safety Report).

How can UVA and the wider Charlottesville and Albemarle county community work together to end gun violence in our area?

Stakeholders

Before we even start looking at the data, we need to consider the various stakeholders in this project. What are they looking to understand from the data? What are they looking to do with insights from the data? Or with the actual data, itself. What biases might folks have? What questions are they trying to answer? Someone may be looking to learn how gun violence has changed over the years, while someone else may be interested in understanding how to prevent gun violence, while others are looking for the structural causes. These are all things to keep in mind.

Ultimately the residents of Charlottesville and Albemarle are the largest stakeholders. These folks ARE the data. They have the lived experiences, and are impacted in various ways. Their voices should be centered.

Prevalence

The leading cause of death by gun violence in the Blue Ridge Health District is suicide. The chart below includes the number and rate of firearm-related deaths among Blue Ridge Health District residents by Intent from 2018 to 2022. The Blue Ridge Health District includes Charlottesville City, Albemarle, Greene, Louisa, Fluvanna, and Nelson County.

This analysis is focused primarily on adversarial community violence, which makes up less than 30% of the full picture of gun trauma.

Source: https://data.virginia.gov/dataset/vdh-pud-firearm-deaths-by-district-intent


Data

The data listed below represent information that is publicly and readily available online. This document is meant to serve as an overview of the existing resources so that we can begin representing the nature, shape, and dimensions of the problem locally.

All of this data is administrative and made up of information created when people interact with public services. As a result, we need to remember the deeply human aspect of this data both in terms of input mechanisms and the data values, themselves. Granted personal info is scrubbed from this report, we should keep in mind that these are individuals and members of our community that are being represented.

The script scripts/dataprep.R outlines the process for accessing and cleaning each data source.


Key Terminology

The data below comes from news outlets, the Virginia Department of Health, and local and national law enforcement agencies. To keep insights consistent across these sourcess we need clearly defined terminology. Each of the terms below has a specific and unique definition, and we will consistently use these terms throughout the analysis.

Firearm Injury

The CDC defines a firearm injury as:

“A gunshot wound or penetrating injury from a weapon that uses a powder charge to fire a projectile. Weapons that use a powder charge include handguns, rifles, and shotguns. Injuries from air- and gas-powered guns, BB guns, and pellet guns are not considered firearm injuries as these types of guns do not use a powder charge to fire a projectile.”

Types of firearm injuries include:

  • Intentionally self-inflicted
  • Unintentional (accidental injuries that happen while someone is cleaning or playing with a firearm)
  • Interpersonal violence (homicide or assault)
  • Legal intervention (violence inflicted by law enforcement on duty)
  • Undetermined intent (not enough information to determine)

Gun Violence

Gun violence is an offense committed with firearms, such as handguns, shotguns, or semi-automatic rifles. It can include homicide, violent crime, attempted suicide, suicide, and unintentional death and injury. The national Gun Violence Archive describes gun violence as:

“all incidents of death or injury or threat with firearms… a shooting of a victim by a subject/suspect is considered gun violence as is a defensive use or an officer involved shooting. The act itself, no matter the reason is violent in nature.”

Gun Violence Trauma

The American Sociological Association describes gun violence trauma as the psychological and emotional impact that gun violence can have on individuals and communities. It can result from direct or indirect exposure to gun violence and has long-term negative effects on wellbeing. This information is difficult to objectively measure, so while this analysis focuses on numbers of direct exposure to gun violence for individuals it is important to remember the lasting indirect trauma gun violence has on our community.

Incident

An incident of gun violence can be defined as a time-boxed event where individual acts of violence took place. An incident may include multiple offenses. For example, if an individual went on a shooting spree and injured three people, that would be considered as one incident with three offenses.

Crime

The FBI defines gun-related crimes as the number of illegal offenses using a firearm committed during an incident of gun violence.

Gun violence is not synonymous with gun crimes. Not all crimes are violent in nature. For example, a person may be charged with the crime of illegally possessing a firearm, despite not brandishing or using the weapon.

Arrest

An arrest can be defined as the physical taking or seizing of a person by a police officer. It is an act that indicates the intention to take that person into custody. An arrest can happen after an incident of gun violence, or it can happen for nonviolent issues such as parole violations or a failure to appear for trial. Anyone arrested is considered innocent until proven guilty in a court of law.

Participant

A participant is defined as an individual involved in an act of gun violence. Participants can be victims, those injured or killed by firearms, or offenders, those using firearms. In cases of suicide, participants are considered victims. It is important to note that while the definition is limited to individuals that are physically affected by gun violence, the spectrum of victimization often extends much further to the community.

Youth

For this analysis, youth are considered to be juveniles under the age of 18.


Gun Violence Archive

This database includes information collected from public news sources about 201 incidents of gun violence affecting 306 participants in the Charlottesville/Albemarle region from May 2014 - April 2024. The incidents range from shots fired reports, to unlawful gun ownership, to acts of violence such as assault, suicide, and homicide.

The data is made up of two dataframes: one has information about each incident and the associated outcome variables (for example, the number of people injured and/or killed), and the other lists the participant-level information (for example, the age range and gender of the participants for both victims and suspects). The data includes the location and date of each incident along with characteristics such as numbers of injuries, homicides, or shots fired. The data does not give any identifiable information about the participants, including name, race, ethnicity, socioeconomic status, or mental health status.

Exclusions

Voluntary Participation

Because the data is sourced from public news websites, if an act of violence didn’t receive local news attention it was not included in the Gun Violence Archive database. That means this data underrepresents some information, especially shots fired numbers. Notably, it looks like shots fired incidents haven’t been added to the database since 2021.

Suicides

Suicides are not part of GVA’s normal data collection procedures. Individual suicides are collected through the CDC’s Annual Report and, because of privacy and CDC policy, they are only available as an aggregate number, without detail. Suicides associated with Officer Involved incidents and Murder-Suicides are included in GVA tallies.


Incident-level data

gva_incidents <- read_csv("data/gva_incidents.csv") 

gva_incidents %>%
  group_by(yr = year(incident_date)) %>%
  summarise(total_injured = sum(victims_injured + suspects_injured),
            total_killed = sum(victims_killed + suspects_killed)) %>%
  ungroup() %>%
  pivot_longer(matches("total")) %>% 
  ggplot(aes(x = yr, y = value, fill = name)) +
  geom_col() +
  labs(title = "Victims of Gun Violence in the Charlottesville/Albemarle Region",
       x = "Year",
       y = "Number of Victims",
       caption = "Total incidents: 201") +
  theme(axis.text.x = element_text(angle=35)) +
  scale_fill_manual(labels = c("Injured", "Killed"),
                    values = c("#F8BE3D", "#007BAB"),
                    guide = guide_legend(title = "Victim Status"))


Individual-level data

gva_participants <- read_csv("data/gva_participants.csv") 

gva_participants %>%
  drop_na(age) %>%
  mutate(yr = year(incident_date)) %>%
  ggplot(aes(age, fill = role)) +
  geom_histogram(position = 'identity') +
  facet_grid(~role) +
scale_fill_manual(labels = c("Suspect", "Victim"),
                    values = c("#F8BE3D", "#007BAB"),
                    guide = guide_legend(title = "Participant Role")) +
  labs(title = "Ages of Participants",
       x = "Age",
       y = "Number of People", 
       caption = "Total particpants: 306") +
  theme(axis.text.x = element_text(angle=35))


Charlottesville Open Data Portal

The Charlottesville Open Data Portal includes 526 gun-related crime reports, and 390 gun-related arrests in City of Charlottesville from March 2019 through April 2024. The data is managed by the Charlottesville Police Department and updated nightly.

The dataset is made up of two dataframes: one includes information about initial crime reports and the other includes arrest data. Both datasets have been anonymized to remove names and other identifiable information.

This is not a definitive collection of public safety data for Charlottesville. We should consider the factors that influence the inclination of an individual calling the police. Are there systematic reasons that someone might call the police more or less than someone else? It’s also significant to note that just because a call was made, does not mean that an arrest was made. All individuals are innocent until proven guilty in a court of law.

Exclusions

Jurisdiction Limits

These datasets only contain information reported by City of Charlottesville Police. It does not contain information about incidents that solely involve other police departments operating within the city (for example, University of Virginia police or Albemarle County police).

odp_crimes <- read_csv("data/odp_crimes.csv") 
odp_arrests <- read_csv("data/odp_arrests.csv")

cville_map <- get_map(c(left = -78.53, bottom = 38.00, right = -78.45, top = 38.07), 
                      maptype = "roadmap", color = "bw")

# Geographic spread
ggmap(cville_map) +
  stat_density2d(data = odp_crimes, aes(fill = ..level.., alpha = 0.1), # removes 55 values
                 geom = "polygon") +
  theme(legend.position="none") +
  scale_fill_viridis_c(direction = -1) +
  theme_void() +
  theme(legend.position = "none") +
  labs(title = "Gun-Related Crime Reports",
       caption = "Total reports: 526")

ggmap(cville_map) +
  stat_density2d(data = odp_arrests, aes(fill = ..level.., alpha = 0.1), # removes 96 values
                 geom = "polygon") +
  theme(legend.position="none") +
  scale_fill_viridis_c(direction = -1) +
  theme_void() +
  theme(legend.position = "none") +
  labs(title = "Gun-Related Arrests",
       caption = "Total arrests: 390")

Police Call Reports

As defined by the Charlottesville Police Department, a police call crime report

“represents the initial information that is provided by individuals calling for police assistance.”

The crime dataset includes 526 calls for police assistance and includes the time of a call, the type of incident, the geocoded location of the incident, and the reporting officer. The data is maintained by CPD and updated nightly.

The data has been filtered to only include crime reports that involve firearms. To do this, only offences labeled Shots Fired/Illegal Hunting, Robbery - Armed, and Weapons Violations are used. As a result, this data may significantly underrepresent the number of firearm incidents. For example, crime reports that have Assault as the primary offense are not included because we cannot be certain the assault included firearm.


Arrest Reports

From the Charlottesville Open Data Portal:

“Arrest data contains information on people taken into custody by City of Charlottesville police officers. More serious crimes such as felony offenses are more likely to result in an arrest. However, arrests can occur as a result of other offenses, such as parole violations or a failure to appear for trial.”

Given that definition, we can ask the question: are a lot of people committing a few crimes or are a few people committing a lot of crimes? The below data contains the distribution of 390 arrests for firearm-related charges between May 2019 and April 2024. The data has been anonymized so that identifiable information has been removed.

Here we can see that of the 233 individuals arrested, 147 have only one gun-related charge, 53 have two charges, and one person has 15 charges. In other words, 86% of people arrested for gun-related crimes have 2 or fewer charges.

# Arrest numbers per person 
odp_arrests %>%
  group_by(id) %>%
  summarise(charges = n()) %>%
  ungroup() %>%
  ggplot(aes(y = charges)) +
  geom_bar(fill = "#007BAB") +
  geom_text(aes(label =..count..), stat = "count", hjust = -0.25, size = 3) +
  labs(title = "Number of Firearm-Related Arrests per Person",
       x = "Number of People",
       y = "Number of Charges per Person",
       caption = "Total number of people arrested: 233") +
  scale_y_continuous(breaks = c(1:15)) +
  geom_label(aes(90, 10, label = "86% of people arrested \nfor gun-related crimes \nhave 2 or fewer charges"))


Virginia Open Data Portal

The Virginia Open Data Portal includes information about emergency department visits for firearm injuries from 2015 to 2023 along with death certificates for firearm-related causes of death from 2018 to 2022. This data is supplied by the Virginia Department of Health.

Identifiers & Exclusions

Identifiers

Firearm injury visits are identified using key terms in the chief complaint (reason for visit) and discharge diagnosis codes. Key terms include: gun with wound, GSW, gunshot, buckshot, revolver, rifle, shotgun, firearm, pistol, handgun, been shot, I was shot, I got shot, combination of hit, ricochet, graze with bullet. ICD-10 diagnosis codes: W32.0, W32.1, W33.0, W33.1, W34.0, W34.1, X72, X73, X74, X93, X94, X95, Y22, Y23, Y24, Y35.0, Y38.4 SNOMED diagnosis codes: 41430008, 56768003, 63409001, 69861004, 77301004, 86122002, 111050005, 219257002, 283545005, 218081007, 218086002, 218082000, 218087006, 218088001, 269796009, 242869008, 219199009, 219200007, 219201006, 219204003, 219205002, 219203009, 219198001, 219142001, 219143006, 219144000, 219145004, 219146003, 287184008, 287193009.

Exclusions

Exclusions include follow-up visits, visits involving other types of guns (e.g., staple gun), visits where firearm was used as a weapon but not fired (e.g., pistol whip). City/county localities are assigned using the patient’s residential zip code for Virginia residents. Patients with non-Virginia or unknown zip codes are grouped as ‘Out of State.’


Injuries in Cville/Albemarle

The Virginia Department of Health groups Charlottesville City and Albemarle county together for their firearm injury counts from 2015 - 2023. This aggregation doesn’t include any demographic information.

The table below shows that the rate of firearm injuries peaked at 8.3% in 2020, however the total number of emergency department visits was the lowest of the sample. After 2020, both the numbers of firearm injuries and ED visits are increasing, subsequently causing the rate of injury to trend upwards as well.

fai_county <- read_csv("data/fai_county.csv") 

albemarle <- fai_county %>%
  filter(str_detect(patient_city_county, "Albemarle"))
  
albemarle %>%
  arrange(year) %>%
  select(-patient_city_county) %>%
  reactable(
    defaultColDef = colDef(
      header = function(value)
        str_to_title(gsub("_", " ", value, fixed = TRUE)),
      align = "center",
      defaultSortOrder = "desc",
      headerStyle = list(background = "#f7f7f8")
    ),
    columns = list(
      total_ed_visits = colDef(format = colFormat(separators = TRUE)),
      rate_of_firearm_injuries_per_10k_ed_visits = colDef(style = color_scales(
        albemarle, colors = c("#FFFFFF", "#FA8C00")
      ))
    ),
    bordered = TRUE,
    highlight = TRUE
  ) %>%
    add_legend(albemarle, col_name = 'rate_of_firearm_injuries_per_10k_ed_visits', title = 'Rate of Firearm Injuries per 10k ED Visits', footer = 'Reported as of 2023', colors = c("#FFFFFF", "#FA8C00"))
Rate of Firearm Injuries per 10k ED Visits
  • 8.3
  • 6.4
  • 5.4
  • 4.4
  • 3.9
Reported as of 2023

Deaths in Blue Ridge Health District

The Blue Ridge Health District includes Charlottesville City, Albemarle, Greene, Louisa, Fluvanna, and Nelson County. This is the smallest age aggregation from the VDH.

This dataset includes the number and rate of firearm-related deaths among Virginia residents by patient health district and age from 2018 through 2022. Virginia Department of Health districts are assigned based on the residence of the patient at the time of death, not where the death occurred. Data includes Virginia residents only, whether or not they died in Virginia.

The VDH Office of Vital Records tracks causes of death among Virginia residents using death certificates. Codes on the death certificate indicate underlying and contributing causes of death. Deaths are classified as firearm-related using the definition from the Centers for Disease Control.

The table below shows that the rate of firearm death is highest for individuals aged 18 and 19 years old and stays above 14% for individuals up to 44 years old. The age group with the second-highest percentage of gun-related deaths are individuals above the age of 75. Given that suicide is the number one cause of firearm-related death (see background.Rmd) it can be inferred that a majority of the deaths for individuals 75 and older were suicide.

fai_age <- read_csv("data/fai_age.csv")

fai_age %>%
  select(-health_district) %>%
  arrange(age_group) %>%
  reactable(
    defaultColDef = colDef(
      header = function(value) str_to_title(gsub("_", " ", value, fixed = TRUE)),
      align = "center",
      defaultSortOrder = "desc",
      headerStyle = list(background = "#f7f7f8")),
    columns = list(
      rate_of_firearm_deaths_per_100k_pop = colDef(style = color_scales(fai_age, colors = c("#FFFFFF", "#FA8C00"))
        )),
    bordered = TRUE,
    highlight = TRUE,
    defaultPageSize = 11) %>%
    add_legend(fai_age, col_name = 'rate_of_firearm_deaths_per_100k_pop', title = 'Rate of Firearm Deaths per 100k Pop', footer = 'Years: 2018 - 2022', colors = c("#FFFFFF", "#FA8C00"))
Rate of Firearm Deaths per 100k Pop
  • 18.3
  • 14.8
  • 13.1
  • 7.3
  • 0.7
Years: 2018 - 2022

FBI Data Explorer

Crime data for Virginia are pulled from the Uniform Crime Reporting database which uses the National Incident-Based Reporting System (NIBRS). The data contains summaries of all crimes where a firearm was used in Virginia, Albemarle County, and Charlottesville City between 2016 - 2022. Each row represents a different type of crime for each year and each column represents crime counts and rates. The data represents the number of crimes and the number of incidents, along with the age group of the offender.

Exclusions

Voluntary Participation

Because the data is voluntarily submitted by individual police departments it may not be all-inclusive.


All Incidents

ucr <- read_csv("data/ucr_firearm.csv")
pops <- read_csv("data/ucr_pops.csv")

# Plotting rates of total incidents
ucr %>% 
  separate(type, c('group', 'type')) %>% 
  filter(group == "incident") %>%
  group_by(district, year, group) %>% 
  summarise_at(vars(matches('n_')), ~sum(.)) %>% 
  ungroup() %>% 
  left_join(pops) %>% 
  mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) -> tmp_plt_dat

ggplot(tmp_plt_dat, aes(year, n_total, color = district)) +
  geom_line(size = 1.5) +
  labs(x = "Year",
       y = "Crime Rate per 100k",
       title = "All Incidents Involving Firearms") +
  scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"), 
                    name = "Region",
                    breaks = c("virginia", "charlottesville", "albemarle"),
                    labels= c("Virginia", "Charlottesville", "Albemarle")) +
  scale_y_continuous(labels=function(x) paste0(x,"%")) +
  geom_label(data = filter(tmp_plt_dat, year == 2022), 
             aes(label = paste0(round(n_total, 1),"%")), 
             show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold")


Youth Incidents

# Plotting rates of juvenile incidents
ucr %>% 
  separate(type, c('group', 'type')) %>% 
  filter(group == "incident") %>%
  group_by(district, year, group) %>% 
  summarise_at(vars(matches('n_')), ~sum(.)) %>% 
  ungroup() %>% 
  left_join(pops) %>% 
  mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) -> tmp_plt_dat
  
ggplot(tmp_plt_dat, aes(year, n_juvenile, color = district)) +
  geom_line(size = 1.5) +
  labs(x = "Year",
       y = "Crime Rate per 100k",
       title = "All Youth Incidents Involving Firearms") +
  scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"), 
                    name = "Region",
                    breaks = c("virginia", "charlottesville", "albemarle"),
                    labels= c("Virginia", "Charlottesville", "Albemarle")) +
  scale_y_continuous(labels=function(x) paste0(x,"%")) +
  geom_label(data = filter(tmp_plt_dat, year == 2022), 
             aes(label = paste0(round(n_juvenile, 1),"%")), 
             show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold")


Adult Compared to Youth

age_labs <- c("Under 18", "Above 18")
names(age_labs) <- c("n_juvenile", "n_adult")


ucr %>% 
  select(district, year, n_juvenile, n_adult, type) %>%
  separate(type, c('group', 'type')) %>% 
  filter(group == "incident") %>%
  group_by(district, year, group) %>% 
  summarise_at(vars(matches('n_')), ~sum(.)) %>%
  ungroup() %>%
  left_join(pops) %>%
  mutate_at(vars(matches('n_')), ~ . / est_pop_district * 1e4 ) %>%
  pivot_longer(cols = c(n_juvenile, n_adult)) -> tmp_plt_dat

ggplot(tmp_plt_dat, aes(year, value, color = district)) +
  geom_line(linewidth = 1.5) +
  facet_wrap(~name,
             labeller = labeller(name = age_labs),
             scales = "free_y") +
  labs(x = "Year",
       y = "Crime Rate per 100k",
       title = "Adult Compared to Youth Incident Rates") +
  scale_color_manual(values = c("#232D4B", "#F8BE3D", "#007BAB"), 
                    name = "Region",
                    breaks = c("virginia", "charlottesville", "albemarle"),
                    labels= c("Virginia", "Charlottesville", "Albemarle")) +
  scale_y_continuous(labels=function(x) paste0(x,"%")) +
  geom_label(data = filter(tmp_plt_dat, year == 2022), 
             aes(label = paste0(round(value, 1),"%")), 
             show.legend = F, hjust = .75, alpha = 0.75, fontface = "bold")


Theft from Vehicles

Gun thefts from cars are increasing triplefold compared to the last decade (Everytown). In 2022 in VA, $3,477,207 dollars worth of guns (avg. $627 dollars) and $97,797 dollars worth of firearm accessories were reported stolen, and in Charlottesville, $30,217 worth of firearms were reported stolen in 2022, and only $2,495 were reported recovered (VSP).

The plot below shows the number of guns stolen from vehicles in Charlottesville City and Albemarle County from 2016 to 2022.

theft <- read_csv("data/nibrs_theft.csv")

ggplot(theft, aes(year, n_stolen, colour = region)) +
  geom_line(linewidth = 1.5) +
  labs(x = "Year",
       y = "Number of Firearms Stolen",
       title = "Theft of Firearms from Vehicles") +
  scale_color_manual(values = c("#007BAB", "#F8BE3D"), 
                    name = "Region") +
  ggrepel::geom_label_repel(data = filter(theft, year == 2022), 
             aes(label = n_stolen), 
             show.legend = F, 
             alpha = 0.75,
             fontface = "bold")


alb_sf <- get_acs(
  geography = "county",
  state = "51",
  variables = "B01001_001",
  survey = "acs5",
  geometry = TRUE,
  year = 2022) %>%
  filter(NAME == "Albemarle County, Virginia")

ATF License Archive

The ATF maintains a record of all federally licensed firearms dealers. The list and map below show the 22 authorized dealers in Charlottesville and Albemarle county as of April 2024.

Map

atf_dealers <- read_csv("data/atf_dealers.csv")

alb_map <- get_map(c(left = -79, bottom = 37, right = -78, top = 39),
                   maptype = "roadmap", color = "bw")

ggmap(alb_map) +
  geom_sf(data = alb_sf, inherit.aes = FALSE, alpha = 0, linewidth = 0.5) +
  theme_void() +
  geom_point(atf_dealers,
             mapping = aes(x = lon, y = lat, col = business_type, shape = business_type),
             size = 3) +
  scale_color_manual(name = "Business Type", values = c("#F8BE3D", "#007BAB")) +
  scale_shape_manual(name = "Business Type", values = c(17, 19)) +
  theme_void() +
  labs(title = "Locations of Firearms Dealers in Charlottesville & Albemarle",
       caption = "Total licensed dealers: 22")

Table

The type of license issued indicates if the seller is a dealer or manufacturer of firearms and/or other destructive devices like explosives. The sellers in Charlottesville and Albemarle have the following license types:

  • Type 01 - Dealer in Firearms Other Than Destructive Devices

  • Type 02 - Pawnbroker in Firearms Other Than Destructive Devices

  • Type 07 - Manufacturer of Firearms Other Than Destructive Devices

  • Type 09 - Dealer in Destructive Devices

  • Type 10 - Manufacturer of Destructive Devices, Ammunition for Destructive Devices or Armor Piercing Ammunition

atf_dealers %>%
  select(license_name, business_name, premise_street, license_type) %>%
  reactable(
    defaultColDef = colDef(
      header = function(value)
        str_to_title(gsub("_", " ", value, fixed = TRUE)),
      align = "left",
      headerStyle = list(background = "#f7f7f8")
    ),
    columns = list(
      license_type = colDef(minWidth = 50)
    ),
    bordered = TRUE,
    highlight = TRUE
  ) %>%
  reactablefmtr::add_source("List of all Federal Firearm License types: https://www.atf.gov/resource-center/fact-sheet/fact-sheet-federal-firearms-and-explosives-licenses-types", align = "right", font_size = 10, font_color = "grey")

List of all Federal Firearm License types: https://www.atf.gov/resource-center/fact-sheet/fact-sheet-federal-firearms-and-explosives-licenses-types

Next Steps

The above data primarily shows outcome-related information. To fully strategize on a solution, we need to try to understand the underlying causes of gun trauma in our community. This includes looking at Census data to better understand community factors such as poverty, adverse childhood experiences, access to resources, and other social structures that are in play.